<script setup>
import { ref, onMounted, onUnmounted } from 'vue';
import Date from './components/Date.vue';
import Weather from './components/Weather.vue';
import Main from './components/Main.vue';
import dockercomponents from './components/docker.vue';
import CosBucketFiles from './components/mainComponents/CosBucketFiles.vue';
import ChatGPT from './components/mainComponents/ChatGPT.vue';
import CodeSnippets from './CodeSnippets.vue';
import note from './note.vue';

import {
  AnsiUp
} from 'ansi_up';
import { Terminal, TerminalApi, TerminalFlash } from 'vue-web-terminal'
//  3.2.0 及 2.1.13 以后版本需要引入此样式，之前版本无需引入主题样式
import 'vue-web-terminal/lib/theme/dark.css'

const ansi_up = new AnsiUp();
const { proxy } = getCurrentInstance();
import API from './API.vue';
const isMobile = ref(false);
const Datedrawer = ref(false);
const Weatherdrawer = ref(false);
const Cosdrawer = ref(false);
const GPTdrawer = ref(false);
const Codedrawer = ref(false);
const APIdrawer = ref(false);
const SSHdrawer = ref(false);
const Dockerdrawer = ref(false);
const Notedrawer = ref(false);
const context = ref(" ［☣］Zhangteng/Workbench");
const iframeurl = ref('');
const dialogFull = ref(false);
const dialogheight = ref('60vh');
const cmdStore = ref([
  {
    "key": "help",
    "title": "Help",
    "group": "local",
    "usage": "help [pattern]",
    "description": "Show command document.",
    "example": [
      {
        "des": "Get help documentation for exact match commands.",
        "cmd": "help open"
      },
      {
        "des": "Get help documentation for fuzzy matching commands.",
        "cmd": "help *e*"
      },
      {
        "des": "Get help documentation for specified group, match key must start with ':'.",
        "cmd": "help :groupA"
      }
    ]
  },
  {
    "key": "clear",
    "title": "Clear logs",
    "group": "local",
    "usage": "clear [history]",
    "description": "Clear screen or history.",
    "example": [
      {
        "cmd": "clear",
        "des": "Clear all records on the current screen."
      },
      {
        "cmd": "clear history",
        "des": "Clear command history."
      }
    ]
  },
  {
    "key": "open",
    "title": "Open page",
    "group": "local",
    "usage": "open <url>",
    "description": "Open a specified page.",
    "example": [
      {
        "cmd": "open blog.beifengtz.com"
      }
    ]
  },
  {
    "key": "cos",
    "title": "打开腾讯COS对象存储列表",
    "group": "user",
    "usage": "cos 打开腾讯COS对象存储列表",

  },
  {
    "key": "date",
    "title": "打开万年历",
    "group": "user",
    "usage": "date 打开万年历",

  },
  {
    "key": "weather",
    "title": "打开天气信息面板",
    "group": "user",
    "usage": "weather 打开天气信息面板",

  },
  {
    "key": "gpt",
    "title": "打开月之暗面KIMI-AI",
    "group": "user",
    "usage": "gpt 打开月之暗面KIMI-AI",

  },
  {
    "key": "api",
    "title": "打开API测试工具",
    "group": "user",
    "usage": "api 打开API测试工具",

  },
  {
    "key": "code",
    "title": "打开代码片段收集列表",
    "group": "user",
    "usage": "code 打开代码片段收集列表",

  },
  // {
  //   "key": 'ssh',
  //   "title": "打开代码片段收集列表",
  //   "group": "user",
  //   "usage": "code 打开代码片段收集列表",

  // },
  // {
  //   "key": 'email',
  //   "title": "打开邮箱列表",
  //   "group": "user",
  //   "usage": "email 打开邮箱列表",

  // },
  // {
  //   "key": 'note',
  //   "title": "打开siyuan在线笔记",
  //   "group": "user",
  //   "usage": "note 打开siyuan在线笔记",

  // },
  // {
  //   "key": 'tool',
  //   "title": "打开IT-TOOLS平台",
  //   "group": "user",
  //   "usage": "tool 打开IT-TOOLS平台",

  // },
  // {
  //   "key": 'ref',
  //   "title": "打开编程文档速查表",
  //   "group": "user",
  //   "usage": "ref 打开编程文档速查表",

  // },
  // {
  //   "key": 'db',
  //   "title": "打开数据库在线管理",
  //   "group": "user",
  //   "usage": "db 打开数据库在线管理",

  // },
  // {
  //   "key": 'alist',
  //   "title": "打开alist网盘聚合管理平台",
  //   "group": "user",
  //   "usage": "alist 打开alist网盘聚合管理平台",

  // },
  // {
  //   "key": 'ps',
  //   "title": "打开在线ps",
  //   "group": "user",
  //   "usage": "ps 打开在线ps",

  // },
]);
var ascii = '<br>'

ascii += '<span style="color:#000000"> ░▒███████▒ ██░ ██     ▄▄  ▒  ███▄    █   ▄████  ████████ ██████  ███▄    █   ▄████ </span>\n';
ascii += '<span style="color:#150101"> ░▒ ▒ ▒▄▀ ░▓██░ ██▒▒ ▄█▀▀█▄▒  ██ ▀█   █  ██▒  ▀█ ▓  ██▒ ▓▒ ██   ▀ ██ ▀█   █  ██    ▀█▒</span>\n';
ascii += '<span style="color:#2b0303"> ░ ▒ ▄▀▒▒░ ▒██▀▀██░▒▄█▀  ▀█▄▒ ██  ▀█ ░█▒██░ ▒ ▄▄▄░▒ ██░▒░▒ █████ ░██  ▀█  █▒██    ▄▄▄░</span>\n';
ascii += '<span style="color:#400404"> ░ ▄▀▒     ░▓█ ░██ ░██▄▄▄▄██  ██▒  ▐▌░█▒ ▓█  ▒ █▓░  ██  ░  ██   ▄ ██░  ▐▌░█▒░▓█    █▓</span>\n';
ascii += '<span style="color:#550505"> ▒███████▓█▒██▓ ▓█  ▓██▒ ▒██░░██░░▒░███░▒  ███▒ ░ ▒████▒▒ ██████ ░██░░▒░███▀▒  ███▒</span>\n';
ascii += '<span style="color:#6a0606"> ░▒▒ ░░▒░▒ ▒ ░░▒░▒ ▒▒   ░▒░░░ ▒░   ▒ ▒  ░▒   ▒   ▒ ░░   ░░ ▒░ ░░ ▒░   ▒ ▒  ░▒   ▒ </span>\n';
ascii += '<span style="color:#800808"> ░░▒ ▒ ░ ▒ ▒ ░▒░ ░  ▒   ▒▒ ░░ ░░   ░ ▒░  ░         ░     ░ ░  ░░ ░░   ░ ▒░  ░   ░ </span>\n';
ascii += '<span style="color:#950909"> ░ ░ ░ ░ ░ ░  ░░ ░  ░   ▒      ░   ░ ░ ░ ░   ░   ░                ░   ░ ░ ░ ░   ░ </span>\n';
ascii += '<span style="color:#aa0a0a">   ░ ░     ░  ░  ░      ░  ░         ░       ░             ░  ░         ░       ░ </span>\n';
ascii += '<span style="color:#ef0e0e">    ░        ░   ░         ░                 ░             ░            ░  </span>\n';



const zt = ref(ascii);
const logs = ref([]);
const { userAgent } = navigator;
isMobile.value = /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(userAgent);
console.log('isMobile.value', isMobile.value);
const onResize = () => {
  const { userAgent } = navigator;
  isMobile.value = /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(userAgent);
};

onMounted(() => {
  window.addEventListener('resize', onResize);
  // var zhangteng = '<pre>' +

  //   ' < br ></pre > ';

  TerminalApi.pushMessage("my-terminal", [{
    content: '<pre>' + ascii + '</pre>'
    ,
  }, {
    "type": "normal",
    "content": proxy.$moment(),
    "class": "success",
    "tag": ">>连接成功<<"
  }]);

  const divs = document.querySelectorAll('.t-prompt');

  // 检查是否有元素被选中
  if (divs.length > 0) {
    // 因为我们假设只有一个元素有这样的类名，所以直接取第一个

    for (var i = 0; i < divs.length; i++) {
      // 使用正则表达式匹配 '123' 文本，并将其替换为带有样式的 span 元素
      divs[i].innerHTML = divs[i].innerHTML.replace(/［☣］/g, '<span class="text-red-500 "><span>$&</span>&nbsp;▶&nbsp;</span>');
      divs[i].innerHTML = divs[i].innerHTML.replace(/Zhangteng/g, '<span class="text-blue-500 underline">$&</span>');

      divs[i].childNodes[1].innerHTML = divs[i].childNodes[1].innerHTML.replace(/➜/g, '<span class="text-yellow-500 ">$&</span>');
    }

  }

});
function dom() {
  $('.t-log-box').each(function () {
    // 对于每个 .t-log-box 元素
    $(this).find('.t-crude-font .t-prompt span').each(function () {
      // 找到所有在 .t-crude-font 下的 .t-prompt 类中的 span 元素
      // 这里你可以对每个匹配的 span 元素进行操作
      console.log($(this).html()); // 打印每个匹配的 span 元素的文本内容

      if ($(this).html().indexOf('<span class="text-red-500 ">') == -1) {
        $(this).html($(this).html().replace(/➜/g, '<span class="text-yellow-500 ">$&</span>'))
        $(this).html($(this).html().replace(/［☣］/g, '<span class="text-red-500 "><span>$&</span></span>'))
        $(this).html($(this).html().replace(/Zhangteng/g, '<span class="text-blue-500 underline">$&</span>'))

      }

    });
  })
}
function onExecCmd(key, command, success, failed) {
  console.log(key, command)
  // if (key === 'fail') {
  //   failed('Something wrong!!!')
  // } else {
  //   let allClass = ['success', 'error', 'system', 'info', 'warning'];

  //   let clazz = allClass[Math.floor(Math.random() * allClass.length)];
  //   success({
  //     type: 'normal',
  //     class: clazz,
  //     tag: '成功',
  //     content: command
  //   })
  // }
  //dom();
  switch (key.toLowerCase()) {
    case 'cos':
      opencos(command, success, failed)
      break;
    case 'date':
      opendate(command, success, failed)
      break;
    case 'weather':
      openweather(command, success, failed)
      break;
    case 'gpt':
      openkimi(command, success, failed)
      break;
    case 'api':
      openapi(command, success, failed)
      break;
    case 'code':
      opencode(command, success, failed)
      break;
    case 'docker':
      docker(command, success, failed)
      break;
    // case 'ssh':
    //   openurl(command, success, failed, 'https://zhangteng.cloud:4300')
    //   break;

    // case 'email':
    //   openurl(command, success, failed, 'https://zhangteng.cloud:4400')
    //   break;
    // case 'note':
    //   openurl(command, success, failed, 'https://zhangteng.cloud:6806')
    //   break;
    // case 'tool':
    //   openurl(command, success, failed, 'http://119.45.240.39:3333')
    //   break;
    // case 'ref':
    //   openurl(command, success, failed, 'https://zhangteng.cloud:3789')
    //   break;
    // case 'db':
    //   openurl(command, success, failed, 'https://zhangteng.cloud:8978')
    //   break;
    // case 'alist':
    //   openurl(command, success, failed, 'https://zhangteng.cloud:5244')
    //   break;
    // case 'ps':
    //   openurl(command, success, failed, 'https://zhangteng.cloud:2887')
    //   break;
    // 可以有更多 case
    default:
      console.log('This is a different kind of fruit.');
  }
  setTimeout(dom(), 2000);
}

function opencos(command, success, failed) {
  Cosdrawer.value = true;
  success({
    type: 'normal',
    class: 'success',
    tag: '成功',
    content: 'COS已打开'
  })
}
function opendate(command, success, failed) {
  Datedrawer.value = true;
  success({
    type: 'normal',
    class: 'success',
    tag: '成功',
    content: '日历已打开'
  })
}
function openweather(command, success, failed) {
  Weatherdrawer.value = true;
  success({
    type: 'normal',
    class: 'success',
    tag: '成功',
    content: '日历已打开'
  })
}
function openkimi(command, success, failed) {
  GPTdrawer.value = true;
  success({
    type: 'normal',
    class: 'success',
    tag: '成功',
    content: 'KIMI已打开'
  })
}
function openapi(command, success, failed) {
  APIdrawer.value = true;
  success({
    type: 'normal',
    class: 'success',
    tag: '成功',
    content: 'KIMI已打开'
  })
}
function opencode(command, success, failed) {
  Codedrawer.value = true;
  success({
    type: 'normal',
    class: 'success',
    tag: '成功',
    content: '代码片段已打开'
  })
}
function openurl(command, success, failed, url) {
  iframeurl.value = url;
  SSHdrawer.value = true;
  success({
    type: 'normal',
    class: 'success',
    tag: '成功',
    content: url + '已打开'
  })
}
async function docker(command, success, failed) {
  Dockerdrawer.value = true;
  success({
    type: 'normal',
    class: 'success',
    tag: '成功',
    content: 'Docker已打开'
  })
}
function full() {
  dialogFull.value = !dialogFull.value
  if (dialogFull.value) {
    dialogheight.value = '100vh'
  }
  else {
    dialogheight.value = '60vh'
  }

  return dialogFull.value
}
</script>

<template>
  <div class="text-left" style="background: transparent;">

    <terminal name="my-terminal" @exec-cmd="onExecCmd" :command-store="cmdStore" :context="context" title="ZT-HomeWork"
      :init-complete="dom()" :init-log="logs" context-suffix="&nbsp;➜&nbsp;" :show-header="false"
      style="width: 100vw; height: 100vh">
    </terminal>
    <div style="position: absolute;top:-150px;right: 50px;z-index:9">
      <Main></Main>

    </div>
    <div style="position: absolute;right: 100px;bottom: 50px;z-index: 9">
      <div class="button-container" style="">
        <button class="button" @click="Datedrawer = true">
          <svg t="1713191271907" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"
            p-id="4140" width="25" height="25">
            <path
              d="M512 1024c141.386 0 256-114.614 256-256s-114.614-256-256-256-256-114.614-256-256S370.614 0 512 0c282.77 0 512 229.23 512 512S794.77 1024 512 1024z"
              fill="#EDEDEE" p-id="4141"></path>
            <path
              d="M512 0c-141.386 0-256 114.614-256 256s114.614 256 256 256 256 114.614 256 256-114.614 256-256 256C229.23 1024 0 794.77 0 512S229.23 0 512 0z"
              fill="#504B5A" p-id="4142"></path>
            <path d="M512 768m-91.428 0a91.428 91.428 0 1 0 182.856 0 91.428 91.428 0 1 0-182.856 0Z" fill="#EDEDEE"
              p-id="4143"></path>
            <path d="M512 256m-91.428 0a91.428 91.428 0 1 0 182.856 0 91.428 91.428 0 1 0-182.856 0Z" fill="#504B5A"
              p-id="4144"></path>
          </svg>
        </button>
        <button class="button" @click="Weatherdrawer = true">
          <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 512 512">
            <defs>
              <linearGradient id="a" x1="96" x2="168" y1="-2.4" y2="122.3" gradientUnits="userSpaceOnUse">
                <stop offset="0" stop-color="#d4d7dd" />
                <stop offset=".5" stop-color="#d4d7dd" />
                <stop offset="1" stop-color="#bec1c6" />
              </linearGradient>
              <linearGradient xlink:href="#a" id="b" x2="168" y1="-50.4" y2="74.3" />
              <linearGradient id="c" x1="150" x2="234" y1="119.2" y2="264.8" gradientUnits="userSpaceOnUse">
                <stop offset="0" stop-color="#fbbf24" />
                <stop offset=".5" stop-color="#fbbf24" />
                <stop offset="1" stop-color="#f59e0b" />
              </linearGradient>
              <symbol id="e" viewBox="0 0 384 384">
                <circle cx="192" cy="192" r="84" fill="url(#c)" stroke="#f8af18" stroke-miterlimit="10"
                  stroke-width="6" />
                <path fill="none" stroke="#fbbf24" stroke-linecap="round" stroke-miterlimit="10" stroke-width="24"
                  d="M192 61.7V12m0 360v-49.7m92.2-222.5 35-35M64.8 319.2l35.1-35.1m0-184.4-35-35m254.5 254.5-35.1-35.1M61.7 192H12m360 0h-49.7">
                  <animateTransform additive="sum" attributeName="transform" dur="6s" repeatCount="indefinite"
                    type="rotate" values="0 192 192; 45 192 192" />
                </path>
              </symbol>
              <symbol id="f" overflow="visible" viewBox="0 0 264 72">
                <path fill="none" stroke="url(#a)" stroke-linecap="round" stroke-miterlimit="10" stroke-width="24"
                  d="M12 60h240">
                  <animateTransform additive="sum" attributeName="transform" dur="6s" repeatCount="indefinite"
                    type="translate" values="-24 0; 24 0; -24 0" />
                </path>
                <path fill="none" stroke="url(#b)" stroke-linecap="round" stroke-miterlimit="10" stroke-width="24"
                  d="M12 12h240">
                  <animateTransform additive="sum" attributeName="transform" dur="6s" repeatCount="indefinite"
                    type="translate" values="24 0; -24 0; 24 0" />
                </path>
              </symbol>
              <clipPath id="d">
                <path fill="none" d="M0 0h512v306H0z" />
              </clipPath>
            </defs>
            <g clip-path="url(#d)">
              <use xlink:href="#e" width="384" height="384" transform="translate(64 100)" />
            </g>
            <use xlink:href="#f" width="264" height="72" transform="translate(124 336)" />
          </svg>
        </button>
        <button class="button" @click="Cosdrawer = true">
          <svg t="1713193191745" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"
            p-id="36459" width="30" height="30">
            <path
              d="M465.07776 170.88a348.757333 348.757333 0 0 0-126.848 46.506667l-9.728 5.674666c-7.253333 4.693333-14.293333 9.813333-20.992 15.36A302.890667 302.890667 0 0 0 221.067093 346.282667c-9.045333 19.584-16.213333 39.936-21.461333 60.885333-3.072 10.709333-7.168 15.36-13.312 15.36a334.08 334.08 0 0 0-83.882667 33.706667 387.712 387.712 0 0 0-51.157333 41.941333 212.778667 212.778667 0 0 0-51.157333 143.232 208.170667 208.170667 0 0 0 68.565333 157.568 227.626667 227.626667 0 0 0 96.128 55.722667c40.448 10.752 28.672 10.24 345.301333 10.24 266.453333 0 293.546667 0 311.466667-3.072a334.848 334.848 0 0 0 57.813333-14.805334l9.728-4.608a264.362667 264.362667 0 0 0 47.573334-29.184 221.994667 221.994667 0 0 0 86.442666-172.373333 261.546667 261.546667 0 0 0-13.312-73.130667 27.008 27.008 0 0 1-3.072-8.192 198.826667 198.826667 0 0 0-19.925333-37.333333l-9.728-12.288a167.253333 167.253333 0 0 0-38.4-38.357333 173.525333 173.525333 0 0 0-42.922667-28.16l-9.216-4.053334a493.226667 493.226667 0 0 0-51.157333-17.408 357.034667 357.034667 0 0 0-37.845333-3.072 216.32 216.32 0 0 0-76.714667 7.68l-20.992 7.168a238.933333 238.933333 0 0 0-51.157333 26.069334 1381.290667 1381.290667 0 0 0-108.416 92.586666 23644.928 23644.928 0 0 1-192.341334 175.957334l-37.333333 34.773333-16.896 16.384H259.467093c-18.901333 0-42.453333 0-51.157333-4.096a138.112 138.112 0 0 1-112-97.194667 185.258667 185.258667 0 0 1 0-66.986666c8.533333-27.989333 25.088-52.906667 47.573333-71.637334a168.277333 168.277333 0 0 1 93.610667-33.237333 179.541333 179.541333 0 0 1 114.048 51.2l45.013333 37.802667c4.48 4.565333 9.685333 8.362667 15.36 11.264 3.584 0 11.776-6.656 40.917334-33.28 9.130667-7.893333 17.493333-16.64 25.045333-26.026667a109.013333 109.013333 0 0 0-17.365333-19.456l-23.552-19.456c-3.584-4.096-40.405333-32.213333-59.306667-46.037333a255.658667 255.658667 0 0 0-63.957333-31.701334 70.485333 70.485333 0 0 1-18.901334-8.704c3.882667-17.706667 9.898667-34.858667 17.92-51.157333a238.848 238.848 0 0 1 51.114667-63.914667 215.893333 215.893333 0 0 1 83.882667-43.989333l19.968-2.048a172.928 172.928 0 0 1 43.946666-4.096c17.194667-1.194667 34.432 0.170667 51.2 4.096 35.285333 7.381333 68.266667 23.168 96.128 46.037333 18.474667 16.213333 34.346667 35.2 47.061334 56.234667 3.114667 5.333333 6.528 10.453333 10.24 15.36 4.906667 0.597333 9.898667 0.597333 14.805333 0 14.933333-2.261333 29.952-3.626667 45.013333-4.096 35.84 0 36.864 0 29.184-15.36a123.392 123.392 0 0 1-6.656-14.805333 75.392 75.392 0 0 0-7.168-14.848 82.389333 82.389333 0 0 1-5.632-9.685334 363.648 363.648 0 0 0-40.405333-51.2 319.488 319.488 0 0 0-90.026667-63.914666l-23.04-10.752a354.389333 354.389333 0 0 0-167.765333-19.968l0.554667-3.029334z m349.866667 338.602667c31.317333 5.546667 59.818667 21.589333 80.810666 45.525333 21.973333 22.485333 33.792 52.992 32.725334 84.394667 1.834667 13.653333 0.256 27.52-4.608 40.405333A124.8 124.8 0 0 1 899.89376 725.333333c-19.925333 23.210667-46.549333 39.68-76.245333 47.061334a406.144 406.144 0 0 1-41.941334 4.608h-347.306666c15.232-16.64 31.488-32.341333 48.64-47.061334l62.378666-59.818666c21.973333-20.48 106.88-97.706667 119.168-107.946667l12.8-11.776a245.76 245.76 0 0 1 42.965334-29.141333c8.405333-4.096 17.109333-7.509333 26.069333-10.24l17.408-5.12c16.981333-2.176 34.133333-2.176 51.157333 0v3.584z"
              fill="#1F6EFF" p-id="36460"></path>
          </svg>
        </button>

        <button class="button" @click="Codedrawer = true">
          <svg t="1713193655555" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"
            p-id="41125" width="30" height="30">
            <path
              d="M954.181818 861.090909H69.818182c-25.6 0-46.545455-20.945455-46.545455-46.545454V209.454545h977.454546v605.09091c0 25.6-20.945455 46.545455-46.545455 46.545454z"
              fill="#2B5367" p-id="41126"></path>
            <path
              d="M1000.727273 209.454545H23.272727V116.363636c0-25.6 20.945455-46.545455 46.545455-46.545454h884.363636c25.6 0 46.545455 20.945455 46.545455 46.545454v93.090909z"
              fill="#ECF0F9" p-id="41127"></path>
            <path
              d="M954.181818 46.545455H69.818182C30.254545 46.545455 0 76.8 0 116.363636v698.181819c0 39.563636 30.254545 69.818182 69.818182 69.818181h884.363636c39.563636 0 69.818182-30.254545 69.818182-69.818181V116.363636c0-39.563636-30.254545-69.818182-69.818182-69.818181zM46.545455 116.363636c0-13.963636 9.309091-23.272727 23.272727-23.272727h884.363636c13.963636 0 23.272727 9.309091 23.272727 23.272727v69.818182H46.545455V116.363636z m930.90909 698.181819c0 13.963636-9.309091 23.272727-23.272727 23.272727H69.818182c-13.963636 0-23.272727-9.309091-23.272727-23.272727V232.727273h930.90909v581.818182z"
              fill="#0B3A5B" p-id="41128"></path>
            <path
              d="M116.363636 139.636364m-23.272727 0a23.272727 23.272727 0 1 0 46.545455 0 23.272727 23.272727 0 1 0-46.545455 0Z"
              fill="#0B3A5B" p-id="41129"></path>
            <path
              d="M209.454545 139.636364m-23.272727 0a23.272727 23.272727 0 1 0 46.545455 0 23.272727 23.272727 0 1 0-46.545455 0Z"
              fill="#0B3A5B" p-id="41130"></path>
            <path
              d="M302.545455 139.636364m-23.272728 0a23.272727 23.272727 0 1 0 46.545455 0 23.272727 23.272727 0 1 0-46.545455 0Z"
              fill="#0B3A5B" p-id="41131"></path>
            <path
              d="M93.090909 290.909091c0-6.981818 4.654545-11.636364 11.636364-11.636364h139.636363c6.981818 0 11.636364 4.654545 11.636364 11.636364s-4.654545 11.636364-11.636364 11.636364h-139.636363c-6.981818 0-11.636364-4.654545-11.636364-11.636364zM302.545455 779.636364c0-6.981818 4.654545-11.636364 11.636363-11.636364h139.636364c6.981818 0 11.636364 4.654545 11.636363 11.636364s-4.654545 11.636364-11.636363 11.636363h-139.636364c-6.981818 0-11.636364-4.654545-11.636363-11.636363zM162.909091 360.727273c0-6.981818 4.654545-11.636364 11.636364-11.636364h139.636363c6.981818 0 11.636364 4.654545 11.636364 11.636364s-4.654545 11.636364-11.636364 11.636363h-139.636363c-6.981818 0-11.636364-4.654545-11.636364-11.636363zM488.727273 709.818182c0-6.981818 4.654545-11.636364 11.636363-11.636364h139.636364c6.981818 0 11.636364 4.654545 11.636364 11.636364s-4.654545 11.636364-11.636364 11.636363h-139.636364c-6.981818 0-11.636364-4.654545-11.636363-11.636363zM651.636364 360.727273c0-6.981818 4.654545-11.636364 11.636363-11.636364h139.636364c6.981818 0 11.636364 4.654545 11.636364 11.636364s-4.654545 11.636364-11.636364 11.636363h-139.636364c-6.981818 0-11.636364-4.654545-11.636363-11.636363zM372.363636 570.181818c0-6.981818 4.654545-11.636364 11.636364-11.636363h139.636364c6.981818 0 11.636364 4.654545 11.636363 11.636363s-4.654545 11.636364-11.636363 11.636364h-139.636364c-6.981818 0-11.636364-4.654545-11.636364-11.636364z"
              fill="#FFFFFF" p-id="41132"></path>
            <path
              d="M488.727273 430.545455c0-6.981818 4.654545-11.636364 11.636363-11.636364h139.636364c6.981818 0 11.636364 4.654545 11.636364 11.636364s-4.654545 11.636364-11.636364 11.636363h-139.636364c-6.981818 0-11.636364-4.654545-11.636363-11.636363zM162.909091 570.181818c0-6.981818 4.654545-11.636364 11.636364-11.636363h139.636363c6.981818 0 11.636364 4.654545 11.636364 11.636363s-4.654545 11.636364-11.636364 11.636364h-139.636363c-6.981818 0-11.636364-4.654545-11.636364-11.636364zM512 779.636364c0-6.981818 4.654545-11.636364 11.636364-11.636364h93.090909c6.981818 0 11.636364 4.654545 11.636363 11.636364s-4.654545 11.636364-11.636363 11.636363h-93.090909c-6.981818 0-11.636364-4.654545-11.636364-11.636363z"
              fill="#FFCB5D" p-id="41133"></path>
            <path
              d="M372.363636 360.727273c0-6.981818 4.654545-11.636364 11.636364-11.636364h69.818182c6.981818 0 11.636364 4.654545 11.636363 11.636364s-4.654545 11.636364-11.636363 11.636363h-69.818182c-6.981818 0-11.636364-4.654545-11.636364-11.636363z"
              fill="#F04D4E" p-id="41134"></path>
            <path
              d="M512 360.727273c0-6.981818 4.654545-11.636364 11.636364-11.636364h69.818181c6.981818 0 11.636364 4.654545 11.636364 11.636364s-4.654545 11.636364-11.636364 11.636363h-69.818181c-6.981818 0-11.636364-4.654545-11.636364-11.636363zM162.909091 640c0-6.981818 4.654545-11.636364 11.636364-11.636364h69.818181c6.981818 0 11.636364 4.654545 11.636364 11.636364s-4.654545 11.636364-11.636364 11.636364h-69.818181c-6.981818 0-11.636364-4.654545-11.636364-11.636364zM93.090909 500.363636c0-6.981818 4.654545-11.636364 11.636364-11.636363h69.818182c6.981818 0 11.636364 4.654545 11.636363 11.636363s-4.654545 11.636364-11.636363 11.636364h-69.818182c-6.981818 0-11.636364-4.654545-11.636364-11.636364z"
              fill="#FFFFFF" p-id="41135"></path>
            <path
              d="M628.363636 640c0-6.981818 4.654545-11.636364 11.636364-11.636364h69.818182c6.981818 0 11.636364 4.654545 11.636363 11.636364s-4.654545 11.636364-11.636363 11.636364h-69.818182c-6.981818 0-11.636364-4.654545-11.636364-11.636364zM162.909091 779.636364c0-6.981818 4.654545-11.636364 11.636364-11.636364h69.818181c6.981818 0 11.636364 4.654545 11.636364 11.636364s-4.654545 11.636364-11.636364 11.636363h-69.818181c-6.981818 0-11.636364-4.654545-11.636364-11.636363z"
              fill="#F04D4E" p-id="41136"></path>
            <path
              d="M162.909091 430.545455c0-6.981818 4.654545-11.636364 11.636364-11.636364h256c6.981818 0 11.636364 4.654545 11.636363 11.636364s-4.654545 11.636364-11.636363 11.636363h-256c-6.981818 0-11.636364-4.654545-11.636364-11.636363zM302.545455 640c0-6.981818 4.654545-11.636364 11.636363-11.636364h256c6.981818 0 11.636364 4.654545 11.636364 11.636364s-4.654545 11.636364-11.636364 11.636364h-256c-6.981818 0-11.636364-4.654545-11.636363-11.636364zM162.909091 709.818182c0-6.981818 4.654545-11.636364 11.636364-11.636364h256c6.981818 0 11.636364 4.654545 11.636363 11.636364s-4.654545 11.636364-11.636363 11.636363h-256c-6.981818 0-11.636364-4.654545-11.636364-11.636363z"
              fill="#FFFFFF" p-id="41137"></path>
            <path
              d="M791.272727 744.727273m-186.181818 0a186.181818 186.181818 0 1 0 372.363636 0 186.181818 186.181818 0 1 0-372.363636 0Z"
              fill="#F5B445" p-id="41138"></path>
            <path
              d="M791.272727 977.454545c-128 0-232.727273-104.727273-232.727272-232.727272s104.727273-232.727273 232.727272-232.727273 232.727273 104.727273 232.727273 232.727273-104.727273 232.727273-232.727273 232.727272z m0-418.90909c-102.4 0-186.181818 83.781818-186.181818 186.181818s83.781818 186.181818 186.181818 186.181818 186.181818-83.781818 186.181818-186.181818-83.781818-186.181818-186.181818-186.181818z"
              fill="#0B3A5B" p-id="41139"></path>
            <path
              d="M844.8 567.854545l-232.727273 232.727273c13.963636 41.890909 41.890909 79.127273 79.127273 102.4l256-256c-23.272727-39.563636-58.181818-67.490909-102.4-79.127273zM791.272727 930.909091c102.4 0 186.181818-83.781818 186.181818-186.181818 0-13.963636-2.327273-30.254545-4.654545-44.218182l-223.418182 223.418182c11.636364 4.654545 27.927273 6.981818 41.890909 6.981818z"
              fill="#FFCB5B" p-id="41140"></path>
            <path
              d="M875.054545 733.090909c4.654545-11.636364 9.309091-23.272727 9.309091-34.909091 0-39.563636-30.254545-69.818182-69.818181-69.818182 0-13.963636-9.309091-23.272727-23.272728-23.272727s-23.272727 9.309091-23.272727 23.272727h-46.545455c-13.963636 0-23.272727 9.309091-23.272727 23.272728s9.309091 23.272727 23.272727 23.272727v139.636364c-13.963636 0-23.272727 9.309091-23.272727 23.272727s9.309091 23.272727 23.272727 23.272727h46.545455c0 13.963636 9.309091 23.272727 23.272727 23.272727s23.272727-9.309091 23.272728-23.272727h23.272727c39.563636 0 69.818182-30.254545 69.818182-69.818182 0-25.6-13.963636-46.545455-32.581819-58.181818zM814.545455 674.909091c13.963636 0 23.272727 9.309091 23.272727 23.272727s-9.309091 23.272727-23.272727 23.272727h-46.545455v-46.545454h46.545455z m23.272727 139.636364h-69.818182v-46.545455h69.818182c13.963636 0 23.272727 9.309091 23.272727 23.272727s-9.309091 23.272727-23.272727 23.272728z"
              fill="#0B3A5B" p-id="41141"></path>
          </svg>
        </button>
        <button class="button" @click="GPTdrawer = true">
          <svg t="1710588817816" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"
            p-id="2480" width="25" height="25">
            <path
              d="M512 0C229.376 0 0 229.376 0 512s229.376 512 512 512 512-229.376 512-512S794.624 0 512 0z m249.344 776.192c-5.632 1.536-7.68 3.584-9.728 8.704-30.208 81.408-109.568 136.192-202.752 135.68-53.76-1.024-103.936-22.016-144.896-64.512-4.096-4.096-7.168-3.584-11.776-2.56-103.424 16.896-200.192-39.936-234.496-137.728-14.336-40.96-14.848-81.92-2.048-123.392 1.536-4.608 1.024-7.168-2.048-10.752-100.352-116.736-40.96-296.96 109.568-333.312 5.12-1.024 7.68-3.584 9.216-8.192 30.72-84.48 114.688-139.776 205.824-135.68 55.808 2.56 103.424 23.552 142.336 63.488 3.584 3.584 6.656 4.096 10.752 3.072 99.84-16.384 193.536 34.816 231.424 126.976 17.92 43.52 19.456 88.064 6.656 133.12-1.536 5.12-1.024 8.704 2.56 12.8 98.816 116.224 39.424 295.424-110.592 332.288z"
              fill="#059469" p-id="2481"></path>
            <path
              d="M870.912 443.392c-3.584-4.096-4.096-7.68-2.56-12.8 13.312-45.056 11.264-89.6-6.656-133.12-37.888-92.16-131.584-143.36-231.424-126.976-4.608 0.512-7.68 0-10.752-3.072-38.912-39.936-86.016-60.928-142.336-63.488-90.624-4.096-174.592 51.2-205.824 135.68-1.536 4.608-4.096 7.168-9.216 8.192-150.016 36.352-208.896 216.576-108.544 333.312 3.072 3.584 3.584 6.656 2.048 10.752-12.8 41.472-12.288 82.432 2.048 123.392 34.304 97.792 131.072 154.112 234.496 137.728 4.096-0.512 7.68-1.536 11.776 2.56 40.96 42.496 91.648 63.488 144.896 64.512 93.184 0.512 172.544-54.272 202.752-135.68 2.048-5.12 4.096-7.68 9.728-8.704 150.016-36.352 209.408-215.552 109.568-332.288z m-51.2-98.816c3.584 15.872 3.584 32.256 2.048 48.64-0.512 5.12-1.536 6.656-7.168 3.584-51.712-30.208-103.936-59.392-155.648-89.6-14.848-8.704-27.648-9.216-43.008-0.512-58.368 34.304-117.76 67.584-176.64 100.864-2.56 1.536-5.12 3.072-8.704 4.608 0-3.072-0.512-4.608-0.512-6.144V337.408c0-4.096 1.024-6.656 5.12-8.704 51.712-29.184 103.424-59.392 155.136-88.576 93.696-50.688 207.36 1.024 229.376 104.448z m-226.304 166.912v40.96c0 4.096-1.024 6.656-4.608 8.704-24.064 13.312-48.128 27.136-72.192 40.96-3.072 2.048-5.632 2.048-9.216 0-23.552-13.824-47.616-27.136-71.168-40.96-4.096-2.56-5.632-5.12-5.632-9.728V471.552c0-4.608 1.536-7.168 5.12-9.216 24.064-13.312 47.616-27.136 71.168-40.96 3.584-2.048 6.144-2.048 9.216 0 24.064 13.824 48.128 27.648 72.192 40.96 3.584 2.048 5.12 4.608 5.12 8.704v40.448z m-279.552-199.68C314.368 235.52 365.056 174.08 440.32 159.744c47.104-8.704 89.6 3.072 128 32.768-26.112 14.848-50.688 28.672-75.776 43.008-30.72 17.408-60.928 34.816-91.648 52.224-11.264 6.144-16.384 15.36-16.384 27.648v208.384c0 8.704 0 8.704-7.68 4.608-19.456-10.752-38.4-22.016-57.856-32.768-4.096-2.56-5.632-5.12-5.632-9.728 0.512-58.368 0-116.224 0.512-174.08zM158.72 440.32c3.072-61.952 35.84-106.496 92.672-132.608 7.68-3.584 8.192-3.584 8.192 5.12v179.2c0 14.848 6.144 24.576 18.944 31.744 60.416 33.792 120.832 68.608 181.248 102.912 1.536 1.024 3.584 2.048 6.656 4.096-23.552 13.312-45.568 26.112-68.096 38.912-2.56 1.536-4.608 0.512-7.168-0.512-53.248-30.208-107.008-59.392-159.232-91.136-51.2-31.232-76.288-78.336-73.216-137.728z m68.608 293.888c-20.992-31.232-29.184-66.048-24.576-103.424 0.512-6.144 2.56-5.632 7.168-3.072 52.736 30.208 105.472 59.904 158.208 90.624 13.312 7.68 25.088 7.68 38.4 0 59.904-34.304 119.808-68.608 179.712-102.4 7.68-4.096 7.68-4.096 7.68 4.608v66.56c0 3.584-1.024 6.144-4.608 8.192-52.224 29.696-103.936 59.392-156.16 88.576-72.704 38.4-161.28 17.408-205.824-49.664z m483.328-102.912v84.992c-0.512 84.992-72.704 153.088-158.72 150.528-33.28-1.024-62.976-11.264-89.6-30.72-6.144-4.608-6.144-4.608 0.512-8.192 52.736-29.696 104.96-59.904 157.696-89.6 13.312-7.68 19.456-17.408 18.944-32.768-0.512-68.096 0-136.192 0-204.288 0-9.216 0-9.216 8.192-4.608 18.432 10.752 37.376 21.504 55.808 31.744 4.608 2.56 6.656 5.632 6.656 11.264 0 30.208 0.512 60.928 0.512 91.648z m139.264 12.288c-16.384 33.792-42.496 57.344-76.8 72.192-8.192 3.584-8.192 3.584-8.192-5.632 0-59.392-0.512-119.296 0-178.688 0-15.36-5.632-25.088-18.944-32.256-59.904-33.28-119.296-67.584-178.688-101.376-2.56-1.536-5.12-3.072-8.704-5.12 20.48-11.776 39.424-22.016 58.368-33.28 9.216-5.632 15.872-5.632 25.088 0 47.104 27.648 94.208 54.272 141.824 80.896 47.616 26.624 75.776 66.56 81.92 120.832 2.56 28.16-3.072 55.808-15.872 82.432z"
              fill="#ffffff" p-id="2482" data-spm-anchor-id="a313x.search_index.0.i3.46fd3a814FaYM5" class="selected">
            </path>
            <path
              d="M430.592 338.432v68.608c0 1.536 0 3.072 0.512 6.144 3.584-2.048 6.144-3.584 8.704-4.608 58.88-33.792 117.76-66.56 176.64-100.864 15.36-8.704 27.648-8.192 43.008 0.512 51.712 30.208 103.936 59.392 155.648 89.088 5.12 3.072 6.144 1.536 7.168-3.584 1.536-16.384 1.536-32.768-2.048-48.64-22.016-103.424-135.68-155.136-228.864-103.424-52.736 28.672-103.936 58.368-156.16 88.064-3.584 2.048-4.608 4.608-4.608 8.704z"
              fill="#059469" p-id="2483"></path>
            <path
              d="M313.344 485.376c0 4.608 1.536 7.168 5.632 9.728 19.456 10.752 38.4 22.016 57.856 32.768 7.68 4.608 7.68 4.096 7.68-4.608V314.88c0-12.288 5.12-21.504 16.384-27.648 30.72-17.408 60.928-34.816 91.648-52.224 24.576-14.336 49.664-28.16 75.776-43.008-38.4-29.696-80.896-41.472-128-32.768-74.752 13.824-125.952 75.776-126.464 152.064-0.512 58.368 0 116.224-0.512 174.08z"
              fill="#059469" p-id="2484"></path>
            <path
              d="M390.656 669.184c2.048 1.536 4.096 2.048 7.168 0.512 22.528-12.8 44.544-25.6 68.096-38.912-3.072-1.536-4.608-3.072-6.656-4.096-60.416-34.304-120.32-68.608-181.248-102.912-12.8-7.168-18.944-16.896-18.944-31.744 0.512-59.904 0-119.296 0-179.2 0-8.704 0-8.704-8.192-5.12C194.56 334.336 161.792 378.368 158.72 440.32c-3.072 58.88 22.016 105.984 72.704 137.216 52.224 32.256 105.984 60.928 159.232 91.648zM588.288 462.336c-24.064-13.312-48.128-27.136-72.192-40.96-3.584-2.048-6.144-2.048-9.216 0-23.552 13.824-47.616 27.136-71.168 40.96-4.096 2.048-5.12 4.608-5.12 9.216v79.872c0 4.608 1.536 7.168 5.632 9.728 24.064 13.312 47.616 27.136 71.168 40.96 3.584 2.048 6.144 1.536 9.216 0 24.064-13.824 48.128-27.648 72.192-40.96 3.584-2.048 4.608-4.608 4.608-8.704v-40.96-39.936c0-4.608-1.024-7.168-5.12-9.216z"
              fill="#059469" p-id="2485"></path>
            <path
              d="M593.408 686.08v-66.56c0-8.704 0-8.704-7.68-4.608-59.904 34.304-119.808 68.096-179.712 102.4-13.312 7.68-25.088 8.192-38.4 0l-158.208-90.624c-4.608-2.56-6.144-3.072-7.168 3.072-4.608 37.376 3.584 72.192 24.576 103.424 45.056 67.072 133.632 88.064 205.824 48.64 52.224-28.672 103.936-58.88 156.16-88.576 3.584-1.024 4.608-3.584 4.608-7.168z"
              fill="#059469" p-id="2486"></path>
            <path
              d="M704 528.384c-18.944-10.24-37.376-20.992-55.808-31.744-8.192-4.608-8.192-4.608-8.192 4.608 0 68.096-0.512 136.192 0 204.288 0 15.36-5.632 25.088-18.944 32.768-52.736 29.696-105.472 59.392-157.696 89.6-6.656 3.584-6.656 3.584-0.512 8.192 26.624 19.456 56.32 29.696 89.6 30.72 86.016 2.56 158.208-65.536 158.72-150.528v-84.992-91.648c-0.512-5.632-2.56-8.704-7.168-11.264z"
              fill="#059469" p-id="2487" data-spm-anchor-id="a313x.search_index.0.i2.46fd3a814FaYM5" class=""></path>
            <path
              d="M783.36 439.808c-47.616-26.624-94.72-53.248-141.824-80.896-9.216-5.632-15.872-5.632-25.088 0-18.432 11.776-37.888 22.016-58.368 33.28 3.584 2.048 6.144 3.584 8.704 5.12 59.392 33.792 118.784 68.096 178.688 101.376 13.312 7.68 18.944 17.408 18.944 32.256-0.512 59.392 0 118.784 0 178.688 0 9.216 0 9.216 8.192 5.632 34.304-14.848 60.416-38.912 76.8-72.192 12.8-26.112 18.944-53.76 15.36-82.944-5.632-53.76-33.792-93.184-81.408-120.32z"
              fill="#059469" p-id="2488"></path>
          </svg>
        </button>
        <button class="button" @click="APIdrawer = true">
          <svg t="1713360891874" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"
            p-id="21412" width="30" height="30">
            <path
              d="M359.103102 4.16255A110.463724 110.463724 0 0 0 308.479229 1.922555h-0.064a121.151697 121.151697 0 0 0-80.1278 53.567866 120.255699 120.255699 0 0 0-17.215957 82.815793 484.222789 484.222789 0 0 0-197.887505 511.806721c4.223989 18.495954 20.927948 31.487921 39.8719 30.975922a40.447899 40.447899 0 0 0 39.423902-50.303874 403.006992 403.006992 0 0 1 158.335604-421.438946 119.231702 119.231702 0 0 0 183.487541-144.895638A121.279697 121.279697 0 0 0 359.103102 4.16255z m270.079325 70.399824a39.551901 39.551901 0 0 0-43.327892 13.439966 40.511899 40.511899 0 0 0 19.647951 64.511839 402.174995 402.174995 0 0 1 284.15929 385.663036c0 4.351989-0.255999 8.575979-0.639999 12.799968a119.9357 119.9357 0 0 0-78.463803 44.543888 119.039702 119.039702 0 0 0 93.503766 192.767518 118.847703 118.847703 0 0 0 65.855835-218.495453A482.686793 482.686793 0 0 0 629.118427 74.562374z m-330.047175 20.607948a39.231902 39.231902 0 0 1 56.19186-2.431994v-0.064a38.143905 38.143905 0 1 1-56.19186 2.559994v-0.064z m-13.311967 320.639198L206.207484 627.264992a4.223989 4.223989 0 0 1-1.343996 2.751993v10.815973a23.551941 23.551941 0 0 0 27.263932 24.319939 29.247927 29.247927 0 0 0 29.247927-18.239954l12.223969-36.543909h107.391732l10.879972 36.543909a26.879933 26.879933 0 0 0 28.671929 18.303954c17.471956 0 27.83993-7.551981 27.83993-23.039942a83.711791 83.711791 0 0 1-3.327992-14.975963L369.663076 415.80952A47.039882 47.039882 0 0 0 326.783183 384.0016a42.815893 42.815893 0 0 0-40.959898 31.80792z m398.527004 0v222.207445c0 18.303954 9.855975 27.199932 29.183927 27.199932a25.471936 25.471936 0 0 0 28.799928-27.199932V415.80952a27.711931 27.711931 0 0 0-28.799928-30.463923 27.263932 27.263932 0 0 0-29.183927 30.463923z m-216.703458 3.263992v218.879453c0 18.367954 9.407976 27.263932 28.799928 27.263932a25.855935 25.855935 0 0 0 29.183927-27.199932v-61.439846h42.879893a91.199772 91.199772 0 0 0 97.471756-93.759766A94.079765 94.079765 0 0 0 567.038582 389.121587H496.382759a26.815933 26.815933 0 0 0-28.735928 29.951925z m57.983855 103.167742V440.19346l39.551901 1.407996a40.447899 40.447899 0 0 1 40.0639 41.215897 38.527904 38.527904 0 0 1-40.0639 39.423901h-39.551901z m-235.519411 35.199912l36.671908-112.575718 36.799908 112.511719H290.111275z m608.766478 73.599816h5.439986a38.015905 38.015905 0 1 1-35.199912 23.231942 37.759906 37.759906 0 0 1 29.759926-23.231942z m-604.286489 177.151558a118.655703 118.655703 0 0 0-97.151758-49.151878c-31.99992 0-63.103842 13.119967-85.503786 36.03191a119.9357 119.9357 0 0 0-33.727916 87.93578c0.831998 26.623933 10.751973 52.09587 28.15993 72.19182a119.9357 119.9357 0 0 0 84.351789 41.791896c28.607928 1.535996 56.767858-7.231982 79.423802-24.575939A485.758786 485.758786 0 0 0 487.038782 1024a481.854795 481.854795 0 0 0 311.487222-115.135712 40.0639 40.0639 0 0 0 11.647971-44.607889 40.703898 40.703898 0 0 0-64.767839-17.215957 401.534996 401.534996 0 0 1-431.550921 56.511859 119.103702 119.103702 0 0 0-19.199952-95.423761zM159.359602 877.760366a38.207904 38.207904 0 1 1 76.415809-1.727996 38.207904 38.207904 0 0 1-76.415809 1.727996z"
              fill="#17abe3" p-id="21413"></path>
          </svg>
        </button>
        <button class="button" @click="SSHdrawer = true">
          <svg t="1713592425699" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"
            p-id="4436" width="200" height="200">
            <path d="M908 836H116A36 36 0 0 1 80 800V296h864V800a36 36 0 0 1-36 36z" fill="#4D4D4D" p-id="4437"></path>
            <path
              d="M916 181.6H108.16a36.8 36.8 0 0 0-36.8 36.64v587.52a36.96 36.96 0 0 0 36.8 36.8h807.84a36.8 36.8 0 0 0 36.64-36.8V218.24a36.96 36.96 0 0 0-36.64-36.64z"
              fill="#333333" opacity=".1" p-id="4438"></path>
            <path d="M80 314.08h288v-126.08H116A36 36 0 0 0 80 224z" fill="#E0DDD8" p-id="4439"></path>
            <path d="M656 188H368v126.08h288z" fill="#3E92CC" p-id="4440"></path>
            <path d="M944 314.08H656v-126.08h252A36 36 0 0 1 944 224z" fill="#0A2463" p-id="4441"></path>
            <path
              d="M356 512L189.76 678.24a19.68 19.68 0 0 0-2.56 27.68l2.56 2.56L224 742.4a19.68 19.68 0 0 0 27.68 2.56l2.56-2.56L420.32 576a19.68 19.68 0 0 0 2.56-27.68 19.36 19.36 0 0 0-2.56-2.56L386.24 512a23.04 23.04 0 0 0-30.24 0z"
              opacity=".1" p-id="4442"></path>
            <path
              d="M353.6 517.44l-158.4 158.4a18.56 18.56 0 0 0-2.4 26.4l2.4 2.4 32 32a18.72 18.72 0 0 0 26.4 2.56L256 736l158.4-158.4a18.56 18.56 0 0 0 2.4-26.4 16.96 16.96 0 0 0-2.4-2.4l-32-32a21.76 21.76 0 0 0-28.8 0.64z"
              fill="#C0C0C0" p-id="4443"></path>
            <path
              d="M253.92 385.92l166.4 166.24a19.68 19.68 0 0 1 2.56 27.68l-2.56 2.56-34.08 34.08a19.68 19.68 0 0 1-27.68 2.56 19.36 19.36 0 0 1-2.56-2.56l-166.24-166.4a19.68 19.68 0 0 1-2.56-27.68l2.56-2.56L224 385.92a22.72 22.72 0 0 1 29.92 0z"
              opacity=".1" p-id="4444"></path>
            <path
              d="M256 391.36l158.4 158.4a18.56 18.56 0 0 1 2.4 26.24 16.96 16.96 0 0 1-2.4 2.4l-32 32a18.56 18.56 0 0 1-26.4 2.4 16.96 16.96 0 0 1-2.4-2.4l-158.4-158.4a18.56 18.56 0 0 1-2.4-26.4 16.96 16.96 0 0 1 2.4-2.4l32-32a21.92 21.92 0 0 1 28.8 0.16z"
              fill="#EBEBEB" p-id="4445"></path>
            <path
              d="M462.4 670.56m33.28 0l462.4 0q33.28 0 33.28 33.28l0 151.36q0 33.28-33.28 33.28l-462.4 0q-33.28 0-33.28-33.28l0-151.36q0-33.28 33.28-33.28Z"
              fill="#CFD4F0" p-id="4446"></path>
            <path
              d="M604.16 802.56v48.8h-22.4v-134.72h40.96a54.72 54.72 0 0 1 36 10.72 38.08 38.08 0 0 1 12.8 30.56 42.56 42.56 0 0 1-13.28 32 51.2 51.2 0 0 1-36.16 12.48z m0-67.52V784h14.4a32 32 0 0 0 21.44-6.4 24.8 24.8 0 0 0 7.52-18.88c0-16-9.12-23.68-27.68-23.68z m194.56 116.32h-26.24L751.04 816a49.6 49.6 0 0 0-5.76-8.48 32 32 0 0 0-5.6-5.92 19.2 19.2 0 0 0-6.24-3.2 25.44 25.44 0 0 0-7.68-1.12h-8.96v54.72h-22.4v-135.36h44.48a58.08 58.08 0 0 1 17.44 2.24 34.56 34.56 0 0 1 13.92 6.88 29.12 29.12 0 0 1 9.28 11.36 34.24 34.24 0 0 1 3.36 16 40.32 40.32 0 0 1-2.24 13.12 35.2 35.2 0 0 1-5.92 10.72 40.48 40.48 0 0 1-9.44 7.84 48.96 48.96 0 0 1-12.32 5.12 36.32 36.32 0 0 1 6.4 4.64l5.12 5.12a43.04 43.04 0 0 1 4.8 5.92 85.76 85.76 0 0 1 5.44 7.84z m-81.92-116.64v43.84H736a28.16 28.16 0 0 0 9.6-1.6 19.2 19.2 0 0 0 7.52-4.64 20.64 20.64 0 0 0 4.96-7.36 21.76 21.76 0 0 0 1.76-9.6 18.88 18.88 0 0 0-6.08-16 24.96 24.96 0 0 0-17.6-5.44z m173.44 116.64H814.4v-134.72h72.8V736H836.8v38.24h46.4v18.88h-46.4V832h53.44z"
              p-id="4447"></path>
            <path
              d="M489.12 663.52h475.52a34.88 34.88 0 0 1 34.24 35.36v161.28A35.04 35.04 0 0 1 964.96 896H489.12a34.88 34.88 0 0 1-34.24-35.36V698.88a34.88 34.88 0 0 1 34.24-35.36z"
              opacity=".1" p-id="4448" data-spm-anchor-id="a313x.search_index.0.i1.d20b3a81SseWJq" class="selected">
            </path>
          </svg>
        </button>
        <button class="button" @click="Dockerdrawer = true">
          <svg t="1714643408674" class="icon" viewBox="0 0 1803 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"
            p-id="3781" width="200" height="200">
            <path
              d="M1042.73135 323.238214h161.583764v165.259336h81.78146a352.572099 352.572099 0 0 0 112.246289-18.872645 285.210188 285.210188 0 0 0 54.63878-24.315317 202.015048 202.015048 0 0 1-37.886657-104.471043c-4.665148-50.397736 5.513357-116.063229 39.583074-155.504936l17.034859-19.650169 20.215642 16.257334c50.963208 40.926072 93.868434 98.180162 101.431628 163.421551 61.353765-18.09512 133.451508-14.136812 187.524816 17.458963l22.194795 12.793815-11.66287 22.760268c-45.803272 89.344654-141.368123 116.982122-234.953821 112.104922-139.954442 348.543108-444.602747 513.519707-813.997653 513.519707-190.846966 0-365.931387-71.320218-465.595914-240.325809l-1.625733-2.756679-14.560917-29.545937a468.84738 468.84738 0 0 1-37.321184-237.781184l2.332574-24.386001h138.18734V323.238214h161.654449V161.654449h323.238214V0h193.957065z"
              fill="#364548" p-id="3782"></path>
            <path
              d="M1566.358878 384.379927c10.814661-84.255401-52.164837-150.344999-91.253124-181.799407-45.096431 52.094153-52.094153 188.585076 18.589908 246.051219-39.441706 35.342031-122.566163 66.796438-207.599088 66.796438H250.221651a436.332712 436.332712 0 0 0 42.97591 240.325809l11.733554 21.770691a408.341824 408.341824 0 0 0 24.456685 36.685028q63.615655 4.028992 117.759647 2.827363c70.684062-1.555049 128.220888-9.895769 171.832953-25.022158a12.440395 12.440395 0 0 1 8.199352 23.537792c-5.866777 2.049838-11.874922 3.887623-18.165804 5.725409a542.217436 542.217436 0 0 1-118.749224 19.296749c2.827362 0-2.968731 0.424104-2.96873 0.424105l-5.301305 0.424104c-18.731276 1.060261-38.946918 1.272313-59.586664 1.272313-22.548216 0-44.813695-0.424104-69.694485-1.696417l-0.636156 0.424104C438.453307 938.54297 573.318497 996.645268 742.394772 996.645268c358.014772 0 661.6735-158.685718 796.185269-515.004072 95.352799 9.825085 187.030027-14.560917 228.733624-95.918272-66.372334-38.381445-151.829364-26.153103-201.025471-1.413681"
              fill="#22A0C8" p-id="3783"></path>
            <path
              d="M1566.358878 384.379927c10.814661-84.255401-52.164837-150.344999-91.253124-181.799407-45.096431 52.094153-52.094153 188.585076 18.589908 246.051219-39.441706 35.342031-122.566163 66.796438-207.599088 66.796438H311.575417c-4.241044 135.996134 46.227376 239.265548 135.57203 301.679575 70.684062-1.555049 128.220888-9.895769 171.832953-25.022158a12.440395 12.440395 0 0 1 8.199352 23.537792c-5.866777 2.049838-11.874922 3.887623-18.165804 5.725409a569.501484 569.501484 0 0 1-121.930006 20.144958l-1.20163-1.060261c121.859322 62.48471 298.498792 62.272658 501.079313-15.550493 227.10789-87.224132 438.241182-253.473045 585.900186-443.613171l-6.502933 3.110099"
              fill="#37B1D9" p-id="3784"></path>
            <path
              d="M252.200805 623.362739a413.855181 413.855181 0 0 0 40.996756 132.95672l11.733554 21.205218a408.341824 408.341824 0 0 0 24.456685 36.685028q63.615655 4.028992 117.759647 2.827363c70.684062-1.555049 128.220888-9.895769 171.832953-25.022158a12.440395 12.440395 0 0 1 8.199352 23.537792c-5.866777 2.049838-11.874922 3.887623-18.165804 5.725409A569.289432 569.289432 0 0 1 487.295994 841.140333h-6.149514c-18.731276 1.060261-38.664182 1.696417-59.374611 1.696417-22.548216 0-45.661904-0.424104-70.684062-1.696417 86.305239 97.049217 222.089321 155.504935 391.236281 155.504935 306.486091 0 573.177055-116.345965 728.045834-373.353213z"
              fill="#1B81A5" p-id="3785"></path>
            <path
              d="M320.905713 623.362739C339.495621 706.840616 383.249055 772.506109 447.147447 817.107752c70.684062-1.555049 128.220888-9.895769 171.832953-25.022158a12.440395 12.440395 0 0 1 8.199352 23.537792c-5.866777 2.049838-11.874922 3.887623-18.165804 5.725409a577.842203 577.842203 0 0 1-122.566163 19.791538c121.788638 62.48471 297.93332 61.636502 500.51384-16.18665a1323.559053 1323.559053 0 0 0 346.351902-201.52026z"
              fill="#1D91B4" p-id="3786"></path>
            <path
              d="M390.81225 350.168841h140.09581v140.09581H390.81225z m11.66287 11.733554h11.097397v116.699386h-11.097397z m20.781114 0h11.521502v116.699386h-11.521502V361.902395z m21.205218 0h11.521502v116.699386h-11.521502z m21.205219 0h11.450818v116.699386h-11.380134z m21.205218 0h11.521502v116.699386h-11.450818z m21.205219 0h11.097397v116.699386h-11.026713z m44.318906-173.317319h140.09581v140.025126H552.396014V188.585076z m11.662871 11.66287h11.026713v116.699386h-10.956029z m20.781114 0h11.450818v116.699386h-11.380134V200.247946z m21.205218 0h11.521502v116.699386h-11.450818z m21.205219 0h11.521502v116.699386h-11.450818z m21.205218 0h11.450818v116.699386h-11.30945z m21.205219 0h11.026713v116.699386h-10.885345z"
              fill="#23A3C2" p-id="3787"></path>
            <path
              d="M552.466698 350.168841H692.915929v140.09581H552.466698V350.168841z m11.662871 11.733554h11.026713v116.699386h-11.026713z m20.781114 0h11.450818v116.699386h-11.450818V361.902395z m21.205218 0h11.521502v116.699386h-11.521502z m21.205219 0h11.521502v116.699386h-11.521502z m21.205218 0h11.450818v116.699386h-11.380134z m21.205219 0h11.026713v116.699386h-10.956029z"
              fill="#34BBDE" p-id="3788"></path>
            <path
              d="M714.121147 350.168841h140.09581v140.09581H714.121147z m11.66287 11.733554h11.097398v116.699386h-11.097398z m20.781115 0h11.521502v116.699386h-11.521502z m21.205218 0h11.450818v116.699386h-11.450818z m21.205218 0h11.521503v116.699386h-11.521503z m21.205219 0h11.521502v116.699386h-11.521502z m21.205218 0h11.097398v116.699386h-11.097398z"
              fill="#23A3C2" p-id="3789"></path>
            <path
              d="M714.121147 188.585076h140.09581v140.025126H714.121147z m11.66287 11.66287h11.097398v116.699386h-11.097398z m20.781115 0h11.521502v116.699386h-11.521502z m21.205218 0h11.450818v116.699386h-11.450818z m21.205218 0h11.521503v116.699386h-11.521503z m21.205219 0h11.521502v116.699386h-11.521502z m21.205218 0h11.097398v116.699386h-11.097398z m44.318907 149.920895h140.09581v140.09581h-140.09581z m11.66287 11.733554h11.026714v116.699386h-11.026714z m20.781114 0h11.521502v116.699386h-11.521502z m21.205219 0h11.521502v116.699386h-11.521502z m21.205218 0h11.450818v116.699386h-11.450818z m21.205219 0h11.521502v116.699386h-11.521502z m21.205218 0H1003.9258v116.699386h-11.097398z"
              fill="#34BBDE" p-id="3790"></path>
            <path
              d="M875.704912 188.585076h140.09581v140.025126h-140.09581z m11.66287 11.66287h11.026714v116.699386h-11.026714z m20.781114 0h11.521502v116.699386h-11.521502z m21.205219 0h11.521502v116.699386h-11.521502z m21.205218 0h11.450818v116.699386h-11.450818z m21.205219 0h11.521502v116.699386h-11.521502z m21.205218 0H1003.9258v116.699386h-11.097398z"
              fill="#23A3C2" p-id="3791"></path>
            <path
              d="M875.704912 26.930627h140.09581v140.09581h-140.09581z m11.66287 11.662871h11.026714V155.504935h-11.026714V38.593498z m20.781114 0h11.521502V155.504935h-11.521502V38.593498z m21.205219 0h11.521502V155.504935h-11.521502V38.593498z m21.205218 0h11.450818V155.504935h-11.450818V38.593498z m21.205219 0h11.521502V155.504935h-11.521502V38.593498z m21.205218 0H1003.9258V155.504935h-11.097398V38.593498z"
              fill="#34BBDE" p-id="3792"></path>
            <path
              d="M1037.359361 350.168841h140.025126v140.09581h-140.025126z m11.66287 11.733554h11.026714v116.699386h-11.026714V361.902395z m20.781114 0h11.450818v116.699386h-11.450818V361.902395z m21.205219 0H1102.883486v116.699386h-11.521502z m21.205218 0H1124.088704v116.699386h-11.521502z m21.205219 0H1145.293923v116.699386h-11.521502z m21.205218 0h11.026714v116.699386h-11.026714z"
              fill="#23A3C2" p-id="3793"></path>
            <path
              d="M683.727001 717.372541a38.664182 38.664182 0 0 1 1.060261 77.328363h-1.060261a38.664182 38.664182 0 0 1 0-77.328363"
              fill="#D3ECEC" p-id="3794"></path>
            <path
              d="M683.727001 728.045834a27.84952 27.84952 0 0 1 10.037137 1.90847 11.30945 11.30945 0 1 0 15.550493 15.197073A27.637468 27.637468 0 1 1 683.727001 728.045834M0.212125 637.287499h1797.707738c-39.15897-9.895769-123.838476-23.32574-109.913715-74.642369-71.17885 82.346932-242.799752 57.819562-286.129082 16.964175-48.20653 69.977221-329.034307 43.400014-348.613791-11.097398-60.505557 70.684062-247.889004 70.684062-308.394561 0-19.579485 54.709464-300.407262 81.286671-348.825844 11.097398-43.32933 40.643335-214.950231 65.170705-286.129081-17.176227 14.136812 51.316629-70.684062 64.7466-109.913716 74.642369"
              fill="#364548" p-id="3795"></path>
            <path
              d="M786.501626 995.867743c-95.706219-45.379168-148.436529-107.157037-177.487678-174.518948A593.180645 593.180645 0 0 1 480.863744 840.716228q-28.273625 1.625733-59.021191 1.625734-35.695451 0-75.207842-2.120522c87.789604 87.71892 195.724166 155.504935 395.830745 156.494512 14.772969 0 29.40457 0 44.03617-0.848209"
              fill="#BDD9D7" p-id="3796"></path>
            <path
              d="M644.568031 883.55077a335.607924 335.607924 0 0 1-35.342031-62.201975A588.515497 588.515497 0 0 1 480.863744 840.716228c34.140402 18.519224 82.912404 35.342031 163.492235 42.410437"
              fill="#D3ECEC" p-id="3797"></path>
          </svg>
        </button>
        <button class="button" @click="Notedrawer = true">
          <svg t="1715176353144" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"
            p-id="24909" width="25" height="25">
            <path d="M1024 0H0v1024h1024V0z" fill="#387DFF" p-id="24910"></path>
            <path
              d="M853.99552 1024H170.00448C76.10368 1024 0 947.88608 0 853.99552V170.00448C0 76.10368 76.11392 0 170.00448 0h683.99104C947.89632 0 1024 76.11392 1024 170.00448v683.99104C1024 947.89632 947.88608 1024 853.99552 1024z"
              fill="#387DFF" p-id="24911"></path>
            <path
              d="M809.33888 485.3248a38.33856 38.33856 0 0 0-0.27648-53.93408c-0.22528-0.22528-0.4608-0.4096-0.68608-0.6144 0.01024 0 0.01024-0.03072 0.03072-0.03072l-196.096-196.096-0.0512 0.0512a38.2976 38.2976 0 0 0-50.75968-0.98304 1.8944 1.8944 0 0 0-0.13312-0.09216L309.9648 485.02784v0.02048l-0.12288 0.12288a38.16448 38.16448 0 0 0-11.08992 24.04352 0.67584 0.67584 0 0 0-0.13312 0.0512l-20.85888 217.7536-0.06144 0.6144-0.1024 1.05472h0.0512a36.38272 36.38272 0 0 0 40.36608 38.37952l215.72608-20.77696-0.07168-0.09216a38.23616 38.23616 0 0 0 28.43648-13.8752l0.17408 0.08192 247.08096-247.08096h-0.01024z"
              fill="#FFFFFF" p-id="24912"></path>
            <path
              d="M809.34912 485.34528s0-0.02048-0.02048-0.02048a38.33856 38.33856 0 0 0-0.27648-53.92384c-0.22528-0.22528-0.4608-0.4096-0.68608-0.6144l0.02048-0.04096-97.14688-97.14688-423.0144 423.0144a36.39296 36.39296 0 0 0 29.77792 10.4448l215.72608-20.7872-0.07168-0.08192a38.20544 38.20544 0 0 0 28.44672-13.8752c0.0512 0.03072 0.11264 0.04096 0.16384 0.08192l247.0912-247.05024z"
              fill="#ECF6FF" p-id="24913"></path>
          </svg>
        </button>
      </div>
    </div>
    <el-drawer v-model="Datedrawer" size="40%" direction="ltr" :with-header="false">
      <Suspense>
        <template #default>
          <Date></Date>
        </template>
      </Suspense>
    </el-drawer>
    <el-drawer v-model="Weatherdrawer" size="40%" direction="rtl" :with-header="false">
      <Weather></Weather>
    </el-drawer>
    <el-drawer v-model="Cosdrawer" size="80%" direction="btt" :with-header="false">
      <CosBucketFiles></CosBucketFiles>
    </el-drawer>
    <el-drawer v-model="GPTdrawer" size="40%">
      <ChatGPT></ChatGPT>
    </el-drawer>
    <el-drawer v-model="APIdrawer" size="80%">
      <API></API>
    </el-drawer>
    <el-dialog v-model="Codedrawer" fullscreen="true">
      <CodeSnippets></CodeSnippets>
    </el-dialog>
    <el-dialog v-model="Notedrawer" fullscreen="true">
      <note></note>
    </el-dialog>
    <el-dialog v-model="SSHdrawer" :fullscreen="dialogFull" v-dialogDrag width="80%">
      <template #header="{ close, titleId, titleClass }">
        <div class="my-header text-right">
          <el-icon :size="16" @click="dialogFull = !dialogFull">
            <Crop />
          </el-icon>

        </div>
      </template>

      <iframe :src="iframeurl" style="width:100%;" :style="{ height: dialogheight }"></iframe>

    </el-dialog>

    <el-dialog v-model="Dockerdrawer" fullscreen="true" width="80%">
      <dockercomponents></dockercomponents>
    </el-dialog>
  </div>
</template>
<style>
@font-face {
  font-family: 'MesloLGS NF Italic';
  font-style: italic;
  font-weight: normal;
  src: url('https://zt-1304966785.cos.ap-nanjing.myqcloud.com/MesloLGS NF Italic.ttf') format('truetype');
}

.t-prompt span {
  font-family: 'MesloLGS NF Italic';
}

.t-container {
  background: transparent !important;
}

.t-window {
  width: 75vw;
  font-family: 'MesloLGS NF Italic';
  background: transparent !important;
}

.t-help-msg {
  min-height: 20px;
  margin: 8px 8px 10px 10px !important;
  color: var(--t-cmd-help-msg-color);
}

.el-drawer {
  box-shadow: none;
}

.el-drawer__body {
  background-color: transparent !important;
}

.el-textarea__inner {
  letter-spacing: 0;
}
</style>
<style scoped>
.button-container {
  display: flex;
  align-items: center;
  justify-content: space-around;

  height: 40px;
  margin: 0 auto;
  background-color: #333;
  border-radius: 10px;
  box-shadow: rgb(0 0 0 / 35%) 0 2px 5px, rgb(255 255 255 / 50%) 1px 2px 5px;
}

.button {
  z-index: 1000 !important;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  color: #fff;
  cursor: pointer;
  background-color: transparent;
  border: 0 !important;
  border-radius: 50%;
  outline: 0 !important;
  transition: all ease-in-out 0.3s;
  margin: 4px;
}

.button:hover {
  transform: translateY(-3px);
}

.icon {
  z-index: 10;
  font-size: 20px;
}
</style>
